package org.example.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.example.entity.SysDept;
import org.example.pojo.DemoVo;
import org.example.pojo.TableColumnDto;
import org.example.pojo.TableConfigVo;
import org.example.pojo.TestPage;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author wxm
 * @date 2025/2/12 10:08
 */
public interface DemoService extends IService<DemoVo> {
    JSONObject demo(String path);

    JSONObject create(JSONObject jsonObject);

    List<DemoVo> select();

    List<String> allTableName(String keyword, String tableModule);

    List<TableColumnDto> getAllColumns(String tableName);

    void saveConfig(TableConfigVo tableConfig);

    List<Map<String, Object>> selectDataByTableName(String tableName);

    List<Map<String, Object>> selectDataByCondition(String tableName, String rows, Boolean isSort, String sortColumn);

    List<Map<String, Object>> relevanceSelect(JSONObject jsonObject);

    List<Map<String, Object>> testAop();

    List<SysDept> testPage(TestPage testPage);

    String testHttpGet();

    @Transactional
    String importExcel(MultipartFile file);

    List<String> getAllObjects();
}
